package com.bot.nft.module.dc.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bot.nft.module.dc.domain.DcAuthorInfo;
import com.bot.nft.module.dc.domain.bo.DcAuthorInfoBo;
import com.bot.nft.module.dc.domain.vo.DcAuthorInfoVo;

/**
 * dc_author_infoService接口
 *
 * @author lumengli
 * @date 2024/01/24 15:57
 **/
public interface DcAuthorInfoService extends IService<DcAuthorInfo> {

    /**
     * 获取dc_author_info分页
     *
     * @author lumengli
     * @date 2024/01/24 15:57
     */
    Page<DcAuthorInfoVo> page(String keyword, Integer status, Integer pageNo, Integer pageSize);

    /**
     * 添加创作者功能
     *
     * @param authorDcInfoBo 创作者信息，包含名称，头像，状态等。
     * @return Boolean 成功/true，失败/false
     */
    public Boolean addAuthorDcInfo(DcAuthorInfoBo authorDcInfoBo);

    /**
     * 启用创作者功能
     *
     * @param id 创作者信息标识
     * @return Boolean 成功/true，失败/false
     */
    public Boolean startAuthorDcInfo(String id);

    /**
     * 禁用创作者功能
     *
     * @param id 创作者信息标识
     * @return Boolean 成功/true，失败/false
     */
    public Boolean disAuthorDcInfo(String id);

    /**
     * 修改创作者功能
     *
     * @param authorDcInfoBo 创作者信息，包含名称，头像，状态等。
     * @return Boolean 成功/true，失败/false
     */
    public Boolean updateAuthorDcInfo(DcAuthorInfoBo authorDcInfoBo);

    /**
     * 删除创作者功能
     *
     * @param id 创作者信息标识
     * @return Boolean 成功/true，失败/false
     */
    public Boolean delAuthorDcInfo(String id);

    /**
     * 查看创作者功能
     *
     * @param id 创作者信息标识
     * @return Boolean 成功/true，失败/false
     */
    public DcAuthorInfoVo getAuthorDcInfo(String id);
}
